import React from 'react';
/*
*   Context相当于一个公共的存储空间，
*       我们可以将多个组件中都需要访问的数据统一存储到一个Context中，
*       这样无需通过props逐层传递，即可使组件访问到这些数据
*
*   通过React.createContext()创建context
*
* */

/*
*   使用方式一：
*       1.引入context
*       2.使用 Xxx.Consumer 组件来创建元素
*           Consumer 的标签体需要一个回调函数
*           它会将context设置为回调函数的参数，通过参数就可以访问到context中存储的数据
*
* */


/*
*   使用Context方式二：
import React, {useContext} from 'react';
import TestContext from "../store/testContext";
*       1.导入Context
*       2.使用钩子函数useContext()获取到context
*           useContext() 需要一个Context作为参数
*               它会将Context中数据获取并作为返回值返回
*
*   Xxx.Provider
<CartContext.Provider value={{...cartData, addItem, removeItem}} />
*       - 表示数据的生产者，可以使用它来指定Context中的数据
*       - 通过value来指定Context中存储的数据，
*           这样一来，在该组件的所有的子组件中都可以通过Context来访问它所指定数据
*
*   当我们通过Context访问数据时，他会读取离他最近的Provider中的数据，
*       如果没有Provider，则读取Context中的默认数据
*
* */
const TestContext = React.createContext({
  name:'孙悟空',
  age:18
});

export default TestContext;
